package cn.jbolt.core.api;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 声明是一个开放接口 默认无需校验和设置JWT
 * 只验证Http请求的Header中是否按照JBoltAPI的Header规范
 *  {"JBOLTAPI":true,"jboltappid":"xxxxxxx"（应用开发中心里的应用的appId值）}
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE,ElementType.METHOD })
public @interface OpenAPI {
	/**
	 * 如果JWT存在 就解析并设置给当前ThreadLocal
	 * 用于接口既可以访客访问 又能登录用户访问
	 * 然后根据是否携带JWT后续判断执行不同处理和返回不同数据的场景
	 * @return
	 */
	boolean parseJwtIfExists() default false;
}
